1. Field of the Invention
The present invention relates in general to a process of generating cutter path data representative of a succession of discrete points which generally define a cutter path to be followed by a cutting tool or cutter for machining a workpiece.
2. Discussion of the Related Art
Generally, a manufacture of a desired part or product by machining a workpiece on an NC (numerically controlled) machine includes a CAD (computer aided design) data processing step, a CAM (computer aided manufacturing) data processing step, and an NC machining step, which are implemented in the order of description, as illustrated in FIG. 23.
At the CAD data processing step, part geometry data in the form of surface models and solid models which represent a desired cutting profile of the workpiece (i.e., a desired shape of the part) are generated according to commands generated by the operator of a CAD processor.
At the CAM data processing step, successive discrete points generally defining a cutter path are obtained by calculation on the basis of the part geometry data received by a CAM processor, so that a predetermined reference point of the cutter is moved through those discrete points at the subsequent NC machining step. The reference point of the cutter may be a center point of the cutter, for example. The cutter path defined by the discrete points (hereinafter referred to as "discrete cutter path definition points") is offset away from the desired cutting profile of the workpiece by a distance determined by the cutter configuration, in the normal direction of the desired cutting profile. For instance, the offset distance of the cutter path is determined by the radius of the cutter. At the CAM data processing step, cutter path data representative of the discrete cutter path definition points are then generated.
The CAM data processing step further includes a post-processing operation to convert the cutter path data to NC data (numerical control data) suitable for use in the subsequent NC machining step in which the workpiece is machined into the desired cutting profile. Generally, the NC data include cutter path data representative of the discrete cutter path definition points, and interpolation data indicative of either linear interpolation or circular interpolation of the adjacent discrete cutter path definition points. In the linear interpolation, the adjacent discrete points are connected by a straight segment. In the circular interpolation, the adjacent discrete points are connected by a circular arc segment.
At the NC machining step, cutter motion commands are prepared on the basis of the NC data supplied to a control device. The control device determines movement velocity of the cutter on the basis of a curvature radius of an approximate cutter path which is estimated from the succession of discrete points represented by the NC data, and a space interval of the discrete points, according to a predetermined relationship among the curvature radius, the space interval and the movement velocity. And then, the control device prepares the cutter motion commands, for successively supplying the cutter motion commands (for example, in the form of pulse signals) to the machine, so that the cutter is moved by a plurality of axes of the machine which are controlled by the control device at the determined movement velocity.
The control device determines the movement velocity of the cutter on the basis of a command value which is inputted into the control device by an operator of the machine in a case where the cutter is moved along a substantially straight portion of the cutter path, i.g., where the moving direction of the cutter is kept substantially constant. However, where the cutter is moved along a curved portion of the cutter path having a comparatively small radius of curvature, i.g., where the moving direction of the cutter is considerably changed, the cutter has to be sufficiently slowed down, so as to assure dimensional accuracy of the part manufactured. The control device has a function of controlling the movement velocity so as to optimize acceleration and deceleration in the movement of the cutter, for thereby increasing the movement velocity while assuring machining accuracy.
The velocity control performed by the control device includes a velocity variation control and a centrifugal acceleration control. The velocity variation control is for determining a resultant movement velocity of the cutter such that a variation in each feed rate of the cutter along the corresponding one of the controllable axes between two successive motions of the cutter corresponding to the successive motion commands is not excessively enlarged. The centrifugal acceleration control is for determining the resultant movement velocity of the cutter such that centrifugal acceleration of the cutter is not excessively enlarged even where the cutter is moved along a curved portion of the cutter path having a comparatively small radius of curvature.
Thus, the cutter is automatically accelerated and decelerated by the velocity variation control and the centrifugal acceleration control, depending upon dispositions of the discrete points to be followed by the cutter, as shown in FIG. 24. The machine receives the cutter motion commands including data representative of the thus determined movement velocity of the cutter, from the control device, so that the machine is operated to move the cutter along the cutter path according to the cutter motion commands, for thereby machining the workpiece into the desired cutting profile.
As is apparent from the above description, a series of steps to machine the workpiece into the desired cutting profile includes a data processing operation for generating the discrete cutter path definition points generally defining the cutter path to be taken by the cutter. This data processing operation is implemented after the part geometry data are prepared and before the cutter motion commands are generated. In the example of FIG. 23, the data processing operation in question is the operation to obtain the discrete cutter path definition points by calculation in the CAM data processing step.
At the conventional CAM data processing step, the discrete cutter path definition points are determined on the basis of the desired cutting profile of the workpiece, and a predetermined tolerance which is a permissible maximum amount of deviation of the cutter path generally defined by the succession of discrete points, from a desired cutter path which exactly follows the desired cutting profile, as indicated in FIG. 25. The desired cutter path generally defined by the discrete points consists of straight segments which connect the adjacent discrete points. That is, the desired cutter path is approximated by the discrete points, so as to minimize the required volume of the cutter path data while assuring a minimum sufficient degree of NC machining accuracy of the workpiece (dimensional accuracy of the part manufactured).
At the conventional step as described above, the requirement for reducing the volume of the cutter path data may be satisfied while assuring a satisfactory degree of the NC machining accuracy. However, there are other requirements in the NC machining, such as a requirement for increasing the movement velocity, which requirement is not sufficiently satisfied by the conventional method.
If the cutter could be moved along an ideal cutter path which is deviated from the desired cutter path by substantially zero, the cutter would not have to be decelerated and accelerated except where the cutter is being moved just before and immediately after turning points of the cutter path, as indicated by a broken line in a graph of FIG. 26B. However, it is impossible to move the cutter exactly along the ideal cutter path. Actually, the cutter is moved along the approximate cutter path defined by straight lines connecting the discrete cutter path definition points which are intended to approximate to the desired cutter path. Thus, the cutter is unnecessarily accelerated and decelerated by the velocity variation control and the centrifugal acceleration control as shown in FIG. 26B.
For increasing the movement velocity, it is preferable that the unnecessary acceleration and deceleration should be prevented. However, in a case where the discrete cutter path definition points are generated only so as to meet a requirement that an amount of deviation of the approximate cutter path defined by the succession of discrete points from the desired cutter path should not be larger than a predetermined tolerance, the unnecessary acceleration and deceleration are not sufficiently prevented. In that case, even if the operator commands the control device to enlarge the movement velocity of the cutter, a frequency and a largeness of the acceleration and deceleration are increased as shown in FIGS. 27A, 27B and 27C, resulting in impossible to increase the movement velocity. Thus, the conventional technique suffers from a drawback arising from the incapability to satisfy the requirement for increasing the movement velocity while assuring the satisfactory NC machining accuracy.
A research conducted by the inventors of the present invention has indicated an importance of taking account of machining ability which is associated with movement velocity of the cutter and which varies from machine to machine, at the step of generating or determining the discrete cutter path definition points.